Composing Active Objects
نویسنده
چکیده
Many of the shortcomings of present-day object-oriented programming languages can be traced to two phenomena: (i) the lack of general support for software composition, and (ii) the semantic interference between language features addressing operational and compositional aspects of object-oriented programming. To remedy this situation, we propose the development of a “pattern language” for active objects in which objects and, more generally, applications, are constructed by composing software patterns. A “pattern” can be any reusable software abstraction, including functions, objects, classes and generics. In this paper we seek to establish both informal requirements for a pattern language and a formal basis for defining the semantics of patterns. First, we identify some basic requirements for supporting object composition and we review the principal language design choices with respect to these requirements. We then survey the various problems of semantic interference in existing languages. Next, we present a formal “object calculus” and show how it can be used to define the semantics of patterns in much the same way that the λ calculus can be used to give meaning to constructs of functional programming languages. We conclude by summarizing the principle open problems that remain to define a practical pattern language for active objects. *.In: Research Directions in Object-Based Concurrency, ed. G. Agha, P. Wegner, A. Yonezawa, MIT Press, 1993, pp. 151-171. †.Author’s current address: Institut für Informatik und angewandte Mathematik (IAM), University of Berne , Länggassstrasse 51, CH-3012 Berne, Switzerland. Tel: +41 (31) 631.4618. E-mail: [email protected]. WWW: http://www.iam.unibe.ch/~oscar.
منابع مشابه
Speci cation of Parallel Active
The development of parallel programs is primarily concerned with application speed. This has led to the development of parallel applications in which software engineering aspects play only subordinate roles. In order to increase software quality in parallel applications, we motivate the construction of parallel programs by composing active objects which interact by means of an object{oriented c...
متن کاملBehaviour Speci cation of Parallel
The development of parallel programs is primarily concerned with application speed. This has led to the development of parallel applications in which software engineering aspects play only subordinate roles. In order to increase software quality in parallel applications, we motivate the construction of parallel programs by composing active objects which interact by means of an object{oriented c...
متن کاملComposing Active Services in NetScript
NetScript is a high-level programming language and environment for developing active network services and protocols. Programs written in NetScript can be deployed in nodes of an active network to dynamically extend their functions as needed. This paper presents an overview of NetScript and describes the three forms of composition that it supports: 1) composing active elements to form new protoc...
متن کاملProgress Guarantees When Composing Lock-Free Objects
Highly concurrent and reliable data objects are vital for parallel programming. Lock-free shared data objects are highly concurrent and guarantee that at least one operation, from a set of concurrently executed operations, finishes after a finite number of steps regardless of the state of the other operations. Lock-free data objects provide progress guarantees on the object level. In this paper...
متن کاملDescribing and Composing Patterns Using Role Diagrams
Design patterns are patterns of classes and objects that represent solutions to recurring design problems. They are usually described using class diagrams. Class diagrams, however, often intertwine the actual solution with efficient ways of implementing it. This paper uses role diagrams to describe and compose patterns. Role diagrams help designers focus on the collaborations and distribution o...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 1993